hvm: Reintroduce hpet_migrate_timers(), as it is not covered by vpt
authorKeir Fraser <keir@xensource.com>
Fri, 15 Jun 2007 08:08:19 +0000 (09:08 +0100)
committerKeir Fraser <keir@xensource.com>
Fri, 15 Jun 2007 08:08:19 +0000 (09:08 +0100)
logic, but fix so that only VCPU0 migrates the timers.
Signed-off-by: Keir Fraser <keir@xensource.com>
xen/arch/x86/hvm/hpet.c
xen/arch/x86/hvm/hvm.c

index b3fb6ffe29e1dd9be536fd27cc5036f74bcecd07..155dbffcc7e59665fdf9770d4d00601b28a90d21 100644 (file)
@@ -381,6 +381,9 @@ void hpet_migrate_timers(struct vcpu *v)
     struct HPETState *h = &v->domain->arch.hvm_domain.pl_time.vhpet;
     int i;
 
+    if ( v != h->vcpu )
+        return;
+
     for ( i = 0; i < HPET_TIMER_NUM; i++ )
         migrate_timer(&h->timers[i], v->processor);
 }
index 07969bd20c3107ae9c650321d42a372b77611baf..dfd0400b46c26b3c4b7f1c515f8ce68d47f17276 100644 (file)
@@ -110,6 +110,7 @@ u64 hvm_get_guest_time(struct vcpu *v)
 void hvm_migrate_timers(struct vcpu *v)
 {
     rtc_migrate_timers(v);
+    hpet_migrate_timers(v);
     pt_migrate(v);
 }